/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Logica;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;

/**
 *
 * @author Cami
 */
public class Partidas {
    
    //Atributos
   //private static final long serialVersionUID = 1L;
    private HashMap<String, Partida> partidasNuevas;
    private HashMap<String, Partida> partidasInic;
    private HashMap<String, Partida> partidasEnJuego;
    private HashMap<String, Partida> partidasFin;
    
    public Partidas() {
            this.partidasNuevas = new HashMap<String, Partida>();
            this.partidasInic = new HashMap<String, Partida>();
            this.partidasEnJuego = new HashMap<String, Partida>();
            this.partidasFin = new HashMap<String, Partida>();
    }

    
    //Metodos Hash genericos
    public boolean memberPartidas(String nombrePartida) {
	boolean isMember= false;
        if (this.memberPartidasNuevas(nombrePartida)|| this.memberPartidasInic(nombrePartida)
                ||this.memberPartidasEnJueg(nombrePartida)){
            //AGREGRarY FINALIZADAS
            isMember = true;
        }
        return isMember;
    }
    
    //Metodos Partidas Nuevas
    public boolean isEmptyPartidasNuevas() {
        return this.partidasNuevas.isEmpty();
    }
    public Partida findPartidasNuevas(String nombrePartida) {
	return this.partidasNuevas.get(nombrePartida);
    }
    public boolean memberPartidasNuevas(String nombrePartida) {
	return this.partidasNuevas.containsKey(nombrePartida);
    }
    public void insertPartidasNuevas(Partida p) {
	this.partidasNuevas.put(p.getNombrePartida(), p);
    }
    public void deletePartidasNuevas(String nombrePartida) {
	this.partidasNuevas.remove(nombrePartida);
    }
    public void modifyPartidasNuevas(Partida p) {
	this.partidasNuevas.put(p.getNombrePartida(), p);
    }
    public HashMap<String, Partida> getPartidasNuevas() {
	return this.partidasNuevas;
    }
    
        //Metodos Partidas Iniciadas
    public boolean isEmptyPartidasInic() {
        return this.partidasInic.isEmpty();
    }
    public Partida findPartidasInic(String nombrePartida) {
	return this.partidasInic.get(nombrePartida);
    }
    public boolean memberPartidasInic(String nombrePartida) {
	return this.partidasInic.containsKey(nombrePartida);
    }
    public void insertPartidasInic(Partida p) {
	this.partidasInic.put(p.getNombrePartida(), p);
    }
    public void deletePartidasInic(String nombrePartida) {
	this.partidasInic.remove(nombrePartida);
    }
    public void modifyPartidasInic(Partida p) {
	this.partidasInic.put(p.getNombrePartida(), p);
    }
    public HashMap<String, Partida> getPartidasInic() {
	return this.partidasInic;
    }
 
        //Metodos Partidas enJuego
    public boolean isEmptyPartidasEnJueg() {
        return this.partidasInic.isEmpty();
    }
    public Partida findPartidasEnJueg(String nombrePartida) {
	return this.partidasInic.get(nombrePartida);
    }
    public boolean memberPartidasEnJueg(String nombrePartida) {
	return this.partidasInic.containsKey(nombrePartida);
    }
    public void insertPartidasEnJueg(Partida p) {
	this.partidasInic.put(p.getNombrePartida(), p);
    }
    public void deletePartidasEnJueg(String nombrePartida) {
	this.partidasInic.remove(nombrePartida);
    }
    public void modifyPartidasEnJueg(Partida p) {
	this.partidasInic.put(p.getNombrePartida(), p);
    }
    public HashMap<String, Partida> getPartidasEnJueg() {
	return this.partidasInic;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
}
